package poo.file;

import java.io.*;

public class RicercaBinaria {
	// Ricerca binaria su un RandomAcessFile di interi ordinato

	static boolean esiste(String nome, int x) throws IOException {
		RandomAccessFile f = new RandomAccessFile(nome, "r");
		int inf = 0;
		int sup = (int) (f.length() / 4) - 1;
		boolean result = false;
		for (;;) {
			if (inf > sup)
				break;
			int med = (inf + sup) / 2;
			f.seek(med * 4);
			int elem = f.readInt();
			if (elem == x) {
				result = true;
				break;
			}
			if (elem > x)
				sup = med - 1;
			else
				inf = med + 1;
		}
		f.close();
		return result;
	}
}
